The present invention, in some embodiments thereof, relates to machine interfaces and, more particularly, but not exclusively, to robotic machine interfaces for interfacing with robotic machines.
Many industrial applications of robotic machines include robotic machines working together as a robotic team. These teams of robotic machines include machines of multiple designs, manufacturers and generations. Assigning the tasks for each robotic machine, communication between operators and robotic machines, obstacle avoidance, collision avoidance, and design optimization of future robotic machine units become expensive and time consuming processes. The terms machine and robotic machine are used herein interchangeably, and both refer to any machine that has the ability to be controlled.
While many methods exist to define a robotic machine the task to be performed, such methods typically require a programming engineer and a process engineer together to setup the task using basic machine movement instructions, and then fine tune these motions on a step by step manner until the new robotic machine task is refined enough for actual operation. In these cases the robotic machine typically responds with messages to the engineers through a programming console by text messages. When taking these constraints into account, and factoring in the high degree of product variations, short production cycles, and constant changes to production lines, the effort of using skilled programmers to make changes translate into about half the overall robotic automation project costs. These tasks of defining robotic abilities, coordinating tasks between robots, and optimizing each robotic task and the team coordinated operation falls on the highly skilled designer/programmer to resolve.
Imitation-based movement learning for robotic machines has been described by Gienger in U.S. Application publication number 2010/0222924, which the content thereof is incorporated herein by reference. This invention proposes a method for imitation-learning of movements of a robot, wherein the robotic machine performs the steps of: observing a movement of an entity in the robot's environment; recording the observed movement using a sensorial data stream and representing the recorded movement in a different task space representations; and selecting a subset of the task space representations for the imitation learning and reproduction of the movement to be imitated.